The invention relates to a numerical control device for control of movement of a tool along a path, the numerical control device including an
input for entering path data describing the path, a
conversion device for converting the path data to control signals for steering the tool, and an
output for transfer of the control signals to a steering device to which the tool is attached. The invention relates also to a method for determining a path of movement for a tool. A tool is, for example, a milling tool of a machining apparatus such as a numerical controlled milling-machine or a lathe or it is part of a robot. The invention can also be applied in techniques like laser or electron-discharge machining.
A device and method for motion control of a machine-tool or robot is known from EP-A 0 384 925, wherein a path of movement for a machine-tool or a robot is approximated by a plurality of spline segments, each spline being parameterized by a third order polynomial. This allows a considerable reduction of the amount of data needed to describe the path of movement. The use of third order polynomials allows the approximation curve to be continuous and smooth. The polynomials are constructed from four points selected from the path to be followed. Maximum reduction of the amount of data is desirable in order to obtain fast processing in the controller of the machining apparatus or robot. This is obtained by making the spline segments to extend over a portion of the path of movement as long as possible without the approximated curve deviating more from the desired path than a predetermined tolerance. When a spline segment is extended it is parameterized by using points farther apart and a number of intermediate points are selected, at which points the deviation is calculated. If an intermediate point is found at which the deviation exceeds the tolerance, the spline segment has been extended too far and a new spline segment is started.
A disadvantage of the known method is that it provides the controller of the machining apparatus or robot with data approximating the actual path of movement of a tool. Often this path is machine dependent, for example, in case of a milling-machine or lathe, the radius of the milling tool may vary and even, due to wear, not be identical for similar tools or for the same tool at different times. For controlling a robot, the path of movement may be determined by the end points and the requirement to avoid any intermediate obstacles while displacing objects of various size and shape. The exact locations of the end point and the distance of the moving robot clamp to an obstacle may depend on the shape and/or orientation of the object. The known method requires the recalculation of the spline segments for each different situation starting from a large number of points describing the actual path. As the calculation is an iterative process, requiring several approximations with spline segments of different lengths, it is time-consuming or requires significant resources in terms of computer capacity for performing the calculation. Consequently, it is unsuitable to be performed in the numerical control device during a machining operation. For economical reasons a numerical control device cannot be provided with a large computer, nor is it acceptable to stop a milling operation for calculating a path of movement.